perm filename JUG.DOC[P,JRA] blob
sn#502220 filedate 1980-03-23 generic text, type T, neo UTF8
\\M1BASL30;\M2BASB30;\M3NGR25;\M4NGR20;\M5BASI30; \F1\CMar 23, 1980
Mr. Bob Fairbairn Software Manager Commodore Corporation 3330 Scott
Blvd. Santa Clara, CA 95051
Dear Mr Fairbairn:
\JIt was a pleasure to talk with you last week. As suggested, I am
enclosing some material on LISP, The LISP Company, and myself.
Perhaps the combination of ingredients will shed some light on LISP.
Below is some general information about LISP and its applications;
the second part of the letter outlines my reason for approaching
Commodore. \.
\C\F2LISP\F1 \J LISP is an old programming language, second only to
Fortran in longevity. LISP is still the major language in the field
known as Artificial Intelligence. Artificial Intelligence deals with
the problems of understanding and mimicing intelligent behavior using
computers. A major branch of Artificial Intelligence (AI), called
"knowledge engineering", strives to raise the general level of
usefulness of computers by building understanding and expertise into
computing systems; I am enclosing a short article from a recent San
Francisco newspaper, describing some applications.
Until very recently, such systems were the sole province of research
establishments, since the programming of such systems involved large
expensive computing facilities. Recent technological developments
have changed the picture significantly; the newer microprocessors are
capabable of handling a suprisingly large class of these applications
in an inexpensive manner; further, the size of the packaged product
can be pleasantly small. Almost all of these applications are
written in LISP, or in a specialized language which itself is written
in LISP; that is, LISP is also a language for writing other
programming systems. LISP's dominance in AI programming derives in
part from its representation of data; besides the typical numerical
operations, LISP also manipulates complex tree-like structures.
These structures are convenient for representing interrelationships
between objects; for example, one can view our ability to use our
memory effectively as a scheme wherein pieces of information are
interconnected by links to other pieces of information. This view of
memory can be effectively encoded into LISP structures. These
representations make up the inner structure of these "expert"
systems. One further application, of these ideas is the construction
of intelligent data bases. Traditional data base query and insertion
involves the encoding of requests in a fashion more akin to the
machine than the human; AI techniques could do much to improve the
situation.
Summary: There is a large body of programs that improve the
user/machine interface (natural language understanding, "expert
systems") which are written in LISP and would enhance any computing
system, particularly one oriented to casual or novice users.
LISP has been applied quite successfully outside the AI domain. It
has been the major implementation language for "algebraic
manipulation" systems (MACSYMA and REDUCE, for example). These
systems manipulate algebraic expressions much like a hand calculator
manipulates numeric values I have marked an article in the enclosed
BYTE magazine, dealing with such algebraic manipulation systems.
These systems are not simply research toys; REDUCE was constructed by
a working physicist because the algebraic expressions with which he
worked became too complex to manipulate by hand, and numerical
methods were not appropriate. MACSYMA is used daily by engineers,
mathematicians, and physicists over the ARPAnet.
Summary: Algebraic manipulations systems written in LISP supply tools
for working professionals that cannot be obtained by other means.
These systems can be transported to the small computer system.
LISP is gaining popularity as a general purpose programming language
both in industry and in the university. Until very recently, LISP
was a "cult" language because little attempt was made to popularize
it (to some extent this followed from the expensive computing support
that older LISPs expected). I published the first (and still only)
book that gave a comprehensive treatment of LISP at the university
level. That book has done quite well, now being translated into
Japanese. The Japanese LISP community is the most advanced in the
world; their government has committed substantial resources to AI
and LISP, with at least six LISP machine projects underway in Japan
at this time. Japanese universities are beginning to use LISP as the
major programming language for their universities.
Summary: LISP is becoming a popular general purpose language in this
country; LISP is already a very popular language in Japan.
A recent development in this country should expand LISP's popularity
here. The new Department of Defense language, called ADA, was
described by its sponsor as "something like Pascal ... something like
LISP"; so understanding LISP and Pascal should improve one's view of
ADA. The last DOD-sponsored language was COBOL; we can expect
similar growth with ADA. Further, the ADA team that is responsible
for the "programming environment" is using LISP's experience as their
primary model. A "programming environment" is the collection of tools
--editors, compilers, debuggers, etc,-- that surround a language.
LISP, because of the kind of programming that it was designed for, is
a very "interactive" language. The program development facilities of
a production LISP are quite sophisticated and helpful. When one
writes programs in AI, it is often not exactly clear what the
program should do; after all, intelligent behavior is often hard to
ellicit in everyday life. In AI we program in a very "cut-and-try"
fashion, not because we're necessarily sloppy, but because the
phenomenon is not well-understood. The result is that an AI
programming language must allow easy and rapid modification of
programs and data. The ADA team understands that ADA will be used
for programming tasks as complex as those tackled by LISP and
therfore will be incorporating LISP's ideas into their work.
Summary: LISP will have significant impact on the new DOD language,
ADA. The ADA programming environment will have many characteristics
developed from LISP. An understanding of LISP should help appreciate
ADA. \.
\C\F2Proposal\F1 \J I wish to do for LISP what UCSD did for Pascal:
that is, supply the \F5de facto\F1 standard LISP for microcomputers,
and to the extend possible, supply the standard for larger machines.
Such an operation requires the availability of an inexpensive,
comprehensive LISP implementation, together with a book that teaches
LISP to one who has access to this implementation. The project will
not succeed unless \F2both\F1 factors are taken into account
successfully. Instead of pursuing this goal within a university I
would like to carry it off as a commercial venture. A natural way to
proceed is to involve a major force in small computers at the initial
step, while securing a publisher for the book part of the enterprise.
BYTE Books is seriously interested in that aspect; the question is:
is Commodore interested in the computational part?
I have just completed the first version of TLC-LISP for Cromemco on
their Z-80; we are currently modifying it to run under CP/M, and will
be marketing that version ourselves. Since proper hardware was not
available, we have not (yet) built the LISP programming environment;
the initial offering is only the language. I am enclosing a short
description of that language; it is a subset of the LISP that was
designed for the MIT LISP machine. Our LISP is by far the most
professionally crafted of the LISP's available on today's micros; we
expect LISP will really "shine" when it becomes available on the
newer sixteen-bit machines.
If you desire more information, please give me a call. I will be in
Texas the first week in April, but expect to be available otherwise
(except that I will be in-and-out a lot handling the LISP Conference
business). \. \←L\→S\←R\-L\/'2;\+L\→L
Yours sincerely,
John R. Allen Founder, The LISP Company PO Box 487 Redwood Estates
Ca, 95044 (408) 353-2227
\←S\→L